home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / faq-s.zip / FAQ.PAS < prev    next >
Pascal/Delphi Source File  |  1991-05-04  |  4KB  |  126 lines

  1. { FAQ }
  2.  
  3. Program FAQ;
  4.  
  5. {$R-        Range checking  Off            Don't change               }
  6. {$S-        Stack checking  Off            Makes code larger/slower   }
  7. {$I-          I/O checking  Off            Don't change               }
  8. {$D-     Debug information  Off            Helps finding bugs         }
  9. {$F+       Force far calls  On             Required for Overlaying    }
  10. {$V-   Var-string checking  Relaxed        Don't change               }
  11. {$B-    Boolean evaluation  Short Circuit  Don't change               }
  12. {$N-    Numeric processing  Software       Change if you have an 8087 }
  13. {$O+      Overlay checking  On             Don't change               }
  14. (* $M 65500,4096,4096 Stack/heap  64k/none  Don't change *)
  15. {$DEFINE OVERLAY}
  16.  
  17. Uses
  18.   {$IFDEF OVERLAY}
  19.   Initovr,  { Overlay Initialization }
  20.   {$ENDIF}
  21.   Crt,      { Turbo Pascal 6.0 Crt library }
  22.   Dos,      { Turbo Pascal 6.0 Dos library }
  23.   Printer,  { Turbo Pascal 6.0 Printer library }
  24.   {$IFDEF OVERLAY}
  25.   Overlay,  { Turbo Pascal 6.0 Overlay library }
  26.   {$ENDIF}
  27.  
  28.   Main,     { Main menu shell }
  29.   Gentypes, { All type and constant declarations }
  30.   Configrt, { Configuration declarations / procedures }
  31.   Modem,    { Modem support }
  32.   Statret,  { System status declarations / procedures }
  33.   Gensubs,  { General subroutines: lowest level }
  34.   Subs1,    { First subroutine library }
  35.   Windows,  { Routines to manage the split screen }
  36.   Subs2,    { Second subroutine library: higher level I/O }
  37.   Textret,  { Message Base routines }
  38.   Mailret,  { E-Mail routines }
  39.   Userret,  { User routines }
  40.   Flags,    { Board access flag routines }
  41.   Mainr1,   { High-level routines, set one }
  42.   Ansiedit, { Full-screen editor }
  43.   Lineedit, { Line editor }
  44.   Chatstuf, { Chat mode routines }
  45.   Mainr2,   { High-level routines, set two }
  46.   Overret1, { High-level routines, set three }
  47.   Subs3,    { Third subroutine library: externals, etc }
  48.  
  49.   About,    {  About this BBS section }
  50.   Msg,      {         Message section }
  51.   Configur, {   Configuration section }
  52.   Database, {        Database section }
  53.   Doors,    {            Door section }
  54.   Email,    { Electronic mail section }
  55.   Filexfer, {   File Transfer section }
  56.   Voting,   {          Voting section }
  57.   Mycomman, {  User Utilities section }
  58.   Gfiles,   {         G-Files section }
  59.   Viewansi, {  Screen Viewing section }
  60.   Quotes,   {   Random Quotes section }
  61.   Gamble,   {        Gambling section }
  62.   Trivia,   { Uses The Trivia section }
  63.   Nuv,      { New User Voting section }
  64.   Mainmenu, { Main menu commands }
  65.   Waitcall, { Waiting for calls }
  66.   Getlogin, { Log-in procedure }
  67.   Init;{,}     { Initialization routines }
  68. (* Stack5;   { Reports stack usage  -  usually commented out } *)
  69.  
  70. {$IFDEF OVERLAY}
  71. {$O About}
  72. {$O Msg}
  73. {$O Configur}
  74. {$O Database}
  75. {$O Doors}
  76. {$O Email}
  77. {$O Filexfer}
  78. {$O Gfiles}
  79. {$O Viewansi}
  80. {$O Voting}
  81. {$O waitcall}
  82. {$O Getlogin}
  83. {$O Init}
  84. {$O Quotes}
  85. {$O Subs3}
  86. {$O gamble}
  87. {$O Trivia}
  88. {$O Nuv}
  89. {$ENDIF}
  90.  
  91. var gotofaqterm:boolean;
  92.  
  93. begin
  94.   checkbreak:=false;
  95.   readconfig;
  96.   validconfiguration;
  97.   initboard (true);
  98.   ClosePort;
  99.   fromdoor:=paramcount>=3;
  100.   repeat
  101.     gotofaqterm:=false;
  102.     returnfromdoor;
  103.     if not fromdoor then begin
  104.       gotofaqterm:=waitforacall;
  105.       if gotofaqterm then else getloginproc
  106.     end;
  107.     if not gotofaqterm then begin
  108.       votingbooth (true);
  109.       begin
  110.       mainmenuproc;
  111.       end;
  112.       fromdoor:=false;
  113.       if not disconnected then disconnect;
  114.       ensureclosed;
  115.       clrscr;
  116.       if sysnext then begin
  117.         dontanswer;
  118.         halt (4)
  119.       end;
  120.       initboard (false)
  121.     end
  122.   until not gotofaqterm;
  123.   dontanswer;
  124.   halt (0)
  125. end.
  126.